Attached hereto and incorporated herein is Appendix A, which is the hard copy printout of an assembly listing (Samsung Assembly Language) of the source code for a microcontroller computer program as disclosed herein to implement the invention described herein. Appendix A consists of 87 pages. This assembly listing is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves copyright rights whatsoever.
The present invention relates to a massaging apparatus, and more particularly to an improved microcontroller based controller for such apparatus. Recent developments in massaging apparatus have produced a variety of products incorporating plural vibration transducers that operate in multiple modes. In general, more sophistication in the massaging and heating of the body is desired, not only as a sales tactic but also and, perhaps more importantly, as an adjunct to medical treatment.
The increased sophistication tends to drive up costs, particularly when product variations must be supported by diverse inventories, and new developments make existing products obsolete. Thus there is a need for a massage system having further improved operating modes with increased utilization of existing inventories and shorter lead times in commercial production of products having greater sophistication. There is a further need that the system be reliable, easy to operate and inexpensive to produce.
The present invention provides a microcontroller based massage system utilizing small DC motors with eccentric mass elements as the vibratory source. The motors are embedded in a pad upon which the user lies or reclines. The pad may also contain embedded heaters to enhance the massage. The system is activated via a remote control device containing key switches or push buttons and visual status indicators. The wand connects to the massage pad via a serial interface cable. The wand and massage pad are powered from either a wall transformer or a battery, the latter affording portable operation. In its fullest implementation, the massage pad is body length and contains a plurality of motors and heaters. Typically, the heaters are located in the center of the shoulder and lower back areas and the motors are located in five zones distributed over the body length. Several advantages are derived from this arrangement. Computerizing the various modes and operations facilitates the use of the massaging and heating apparatus. Thus, the user can experience a wider variety of massage. A larger variety of options of vibrating sources and how they inter-operate is made available. Total operational variety is simpler to obtain through computer programming than manually.
In one aspect of the invention, a computer controlled massaging system includes a pad for contacting a user of the system; a plurality of vibratory transducers for deflecting respective regions of the pad, each transducer being responsive to a transducer power signal; a microprocessor controller having associated therewith an input and output interface, and memory including read-only program memory (ROM), non-volatile programmable parameter memory (PROM), and variable memory (RAM); an array of input elements connected to the input interface for signaling the microprocessor in response to operator input, the signaling including signals for setting a plurality of operating modes, at least one region signal relating transducers to be activated in the plurality of modes, and signals for setting an intensity control value; and a plurality of transducer drivers responsive to the output interface for producing, separately for each of the transducers, the power signal; the ROM having a set of instructions stored therein to be used by the microprocessor for implementing a master set of modes including a composite mode incorporating a plurality of other modes of the master set, and for interrogating the PROM; and the PROM having parameters stored therein for enabling a predetermined complement of the master modes, wherein the microprocessor generates the plurality of operating modes in response to the input elements, to the exclusion of all but the predetermined complement and, when the predetermined complement includes the composite mode, the microprocessor generates the composite mode in response to the input elements while skipping those portions of the composite mode that are not included in the predetermined complement of the master modes.
The PROM can be electrically programmable, the microprocessor controller being configured for programming the PROM with the parameters in response to external signals. Preferably the PROM is a serial EEPROM having two signal connections only with the microprocessor for effecting both the programming of the configuration data therein and reading the data therefrom. The microprocessor controller and the input elements can be located in a control module external of the pad, the transducer drivers being located within the pad, the control module having a plug connection for signaling the transducer drivers, the plug connection being configured for receiving the external signals when the plug connection is disconnected from the transducer drivers.
Preferably the massaging system further includes a shift register connected between the plug connection and the transducer drivers that is repetitively loaded by serial data transfers using not more than two serial output signals and a buffer strobe signal from the microprocessor through the plug connection for defining respective pulse width modulation duty cycles of the transducer drivers. The system can further include a timer for inhibiting outputs of the shift register when more than a predetermined interval passes between successive serial data transfers from the microprocessor to the shift register. The system can further include an audio input connection for receiving an audio signal, an envelope detector for repetitively signaling measured amplitudes of the audio signal to the microprocessor, the system selectively activating the transducers variably in response to the envelope detector, the envelope detector including an integrating analog to digital converter (ADC) having a comparator output to the microprocessor, the ADC being cycled by the not more than two serial output signals. The envelope detector can include a peak detector that is periodically reset by an output bit of the shift register.
The massaging system can further include a heater element in the pad, and a heater driver connected between the shift register and the heater element for selectively activating the heater element at low and high power levels in response to serial data transfers from the microprocessor. The heat control input can have off, low, and high states for selectively powering the heater at high power, low power, and no power, the microprocessor controller being operative for activating the heater driver to power the heater element at high power when the heat control input is high, at no power when the heat control input is off, and at low power when the heat control input is low, except that when the heat control input is changed from off to low, the microprocessor controller being operative for powering the heater at high power for a warm up interval of time prior to the low power, the warm up interval being dependent on a time interval of the off state of the control input.
In another aspect of the invention, the massaging system includes the pad, the plurality of transducers, a microprocessor controller having program and variable memory and an input and output interface; an array of input elements connected to the input interface for signaling the microprocessor in response to operator input, the signaling including an intensity control value and at least one region signal relating transducers to be activated; the plurality of transducer drivers; means for powering the microprocessor and the drivers from a first source of electrical power, the first source having a voltage drop as loads are added; and means for limiting each of the power signals to a signal upper limit being inversely related to the source voltage for preventing overloading of the power source.
The massaging system can be used additionally with a second power source that does not have a voltage drop as great as the voltage drop of the first source as loads are added, the system further including a power detector for sensing whether the second power source is being used, the microprocessor being programmed for selectively limiting the power signals in response to the power detector. One of the power sources can be AC, the other DC, the power detector including an inverter having a square wave output when the power source is AC and a level output when the power source is DC, the microprocessor being responsive to the output of the power detector.
In another aspect of the invention, the massaging system includes the pad; a vibratory transducer for vibrating the pad and including a motor having a mass element eccentrically coupled thereto that is responsive to a motor power signal; a control microprocessor having program and variable memory, and an input-output interface; an array of input elements connected to the microprocessor for signaling the microprocessor in response to operator input, the signaling including an audio mode signal; a motor driver responsive to the input-output interface for producing the power signal for the motor; an audio detector for detecting an audio envelope of an audio input signal, including a peak detector having a reset input, and an analog to digital converter having a switching circuit, a differential integrator, and a comparator, the integrator having a sample connection configuration and a discharge connection configuration being defined in response to the switching circuit; wherein the microprocessor controller is operative for cycling the switching circuit and generating the motor power signal in response to the audio envelope.
The transducer can be in an array of transducers, the motor driver being one of a corresponding plurality of motor drivers, the system further including a serial communication interface between the microprocessor controller and the drivers, the interface having respective serial data, strobe, and clock outputs of the controller, and a converter input to the controller from the comparator; a shift register driven in response to the serial outputs for signaling the driver circuits and the reset input of the peak detector; and wherein the switching circuit is operable in response to the serial outputs.
In a further aspect of the invention, the massaging system includes the pad; a plurality of vibratory transducers for vibrating respective regions of the pad, each region having left and right ones of the transducers, each transducer being responsive to a transducer power signal; a microprocessor controller having program and variable memory and an input and output interface; an array of input elements connected to the input interface for signaling the microprocessor in response to operator input, the signaling including a plurality of region signals relating transducers to be activated, and a plurality of mode signals; a plurality of transducer drivers responsive to the output interface for producing, separately for each of the transducers, the power signal; and the microprocessor controller being operative in response to the input elements for activating the transducers for operation thereof in a plurality of modes, and in a first composite mode wherein each of the plurality of modes is activated sequentially, the first composite mode automatically terminating upon completion thereof, and a second composite mode continuously repeating repeating the first composite mode. The signaling can include signals for setting an intensity control value, and the transducers are preferably activated at power levels responsive to the intensity control value in at least some of the modes, including at least one of the composite modes for facilitating testing and/or demonstration of the system at variable power levels. The signaling can include signals for setting a speed control value for determining a rate of sequencing mode component intervals, and wherein, during at least one of the composite modes, the duration of operation in sequential activation of modes is responsive to the speed control value. The input elements can further define a heat control input, the system further including a heater element in the pad; a heater driver responsive to the output interface for powering the heater, the microprocessor being further operative in response to the input elements for activating the heater element, and wherein at least one of the composite modes includes activation of the heater element.
Preferably at least some of the modes are altered upon repeated occurrences of same mode input signals for enhanced control versatility. The mode signals can include a zig-zag signal, the microprocessor being operative in response to the zig-zag signal for activating alternating left and right ones of the transducers in sequential zones. The microprocessor can be operative in response to repeated occurrences of the zig-zag signal for selectively activating the transducers in: shoelace pattern wherein diagonal pairs of the transducers are activated in a repeating pattern; a first alternating zig-zag pattern of left and right transducers in adjacent regions, followed by a second alternating pattern being a mirror image of the first; and an alternating repetitive pattern in one region, the pattern sequentially advancing among the regions.
The mode signals can include a circle signal, the microprocessor being operative in response to the circle signal for activating an alternating pattern of the transducers, the pattern periodically advancing in a closed path among the transducers. The microprocessor can be operative in response to repeated occurrences of the circle signal for selectively activating the transducers in: a circle pattern wherein the pattern is circular, advancing between the left transducers in one direction and the right transducers in the opposite direction; a circle pattern advancing oppositely of the previous pattern; and a figure-eight pattern.
The mode signals can include a program signal, the microprocessor being operative in response to the program signal for setting a relative power level for the transducers separately for each of the regions in response to the intensity control value and respective ones of the region signals. The microprocessor can be operative in response to repeated occurrences of the program signal for: changing custom settings of individual regions; permitting operation in other modes while maintaining relative power levels of the regions corresponding to the custom settings; and permitting operation in other modes without the custom settings, the custom settings being preserved until being changed following a subsequent occurrence of the program signal.
Preferably the massaging system further includes a non-volatile parameter memory for storing and signaling to the microprocessor controller particular functions being implemented in the system for utilizing a single set of programmed instructions in the program memory in variously configured examples of the massaging system. The program memory can define the first composite mode as a master set of modes and functions in accordance with substantially every state of the region signals and the mode signals, the composite mode being responsive to data of the parameter memory for skipping non-implemented modes and functions of the system.
In another aspect of the invention, a method for configuring a massaging system having a pad having a plurality of vibrators in respective regions of the pad, a microprocessor control module including ROM firmware, non-volatile parameter memory, and a communication interface, and drivers for the vibrators being electrically connectable by the communication interface with the microprocessor, includes the steps of:
(a) providing a set-up unit having means for receiving parameter data;
(b) connecting the set-up unit to the communication interface of the control module;
(c) feeding the parameter data to the microprocessor using the communication interface;
(d) writing the parameter data into the parameter memory using a portion of the ROM firmware, thereby to configure the system; and
(e) disconnecting the set-up unit from the communication interface.
The method can include the further steps of:
(a) loading the parameter data into the set-up unit using a script file;
(b) powering the control module from the set-up unit subsequent to the step of loading the parameter data; and
(c) the step of feeding the parameter data including momentarily asserting a signal of the communication interface simultaneously with the step of powering the control module for triggering the ROM firmware portion; feeding portions of the data sequentially on the communication interface in response to respective request signals from the microprocessor; and removing power from the control module subsequent to the step of writing the parameter data thereby to terminate the configuring.
The method can include the further step of connecting the drivers to the communication interface for enabling normal operation of the massaging system using the configuration data.